home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / modules / nessus-2.2.8.mo / usr / lib / nessus / plugins / webdav.nasl < prev    next >
Text File  |  2005-01-14  |  3KB  |  96 lines

  1. #
  2. # This script was written by Renaud Deraison <deraison@cvs.nessus.org>
  3. #
  4. # See the Nessus Scripts License for details
  5. #
  6.  
  7. if(description)
  8. {
  9.   script_id(10505);
  10.   script_bugtraq_id(1656);
  11.  script_version ("$Revision: 1.14 $");
  12.   script_cve_id("CVE-2000-0869");
  13.   
  14.   name["english"] = "Directory listing through WebDAV";
  15.   name["francais"] = "Listing du contenu d'un repertoire avec WebDAV";
  16.  
  17.   script_name(english:name["english"], francais:name["francais"]);
  18.   desc["english"] = "
  19. The WebDAV module can be used to obtain a listing of the
  20. remote web server directories even if they have a default 
  21. page such as index.html.
  22.  
  23. This allows an attacker to gain valuable information about the
  24. directory structure of the remote host and could reveal the
  25. presence of files which are not intended to be visible.
  26.  
  27. Solution : disable the WebDAV module, or restrict its access to
  28. authenticated and trusted clients.
  29. Risk factor : Low";
  30.  
  31.   desc["francais"] = "
  32. Il est possible d'obtenir la liste du contenu des repertoires
  33. distants accessibles par HTTP, plutot que leur fichier index.html,
  34. en utilisant le module WebDAV.
  35.  
  36.  Ce problΦme permet α un pirate d'obtenir plus d'informations
  37. sur la machine attaquΘe, ainsi que de dΘcouvrir la prΘsence de
  38. fichiers HTML cachΘs.
  39.  
  40. Solution : dΘsactivez le module WebDAV, ou restreignez son accΦs
  41. aux utilisateurs authentifiΘs";
  42.  
  43.  script_description(english:desc["english"], francais:desc["francais"]);
  44.  
  45.  summary["english"] = "Checks the presence of WebDAV";
  46.  summary["francais"] = "VΘrifie la prΘsence de WebDAV";
  47.  script_summary(english:summary["english"], francais:summary["francais"]);
  48.  script_category(ACT_GATHER_INFO);
  49.  
  50.  script_copyright(english:"This script is Copyright (C) 2000 Renaud Deraison",
  51.                 francais:"Ce script est Copyright (C) 2000 Renaud Deraison");
  52.  
  53.  family["english"] = "CGI abuses";
  54.  family["francais"] = "Abus de CGI";
  55.  
  56.  script_family(english:family["english"], francais:family["francais"]);
  57.  
  58.  script_dependencie("find_service.nes");
  59.  script_require_ports("Services/www", 80);
  60.  exit(0);
  61. }
  62.  
  63. include("http_func.inc");
  64.  
  65. port = get_http_port(default:80);
  66.  
  67.  
  68. if(get_port_state(port))
  69. {
  70.   soc = open_sock_tcp(port);
  71.   if(soc)
  72.   {
  73.   quote = raw_string(0x22);
  74.   req = string("PROPFIND / HTTP/1.1\r\n",
  75.              "Host: ", get_host_name(), "\r\n",
  76.          "Content-Type: text/xml\r\n",
  77.          "Depth: 1\r\n",
  78.          "Content-Length: 110\r\n\r\n",
  79.          "<?xml version=", quote, "1.0", quote, "?>\r\n",
  80.          "<a:propfind xmlns:a=", quote, "DAV:", quote, ">\r\n",
  81.          " <a:prop>\r\n",
  82.          "  <a:displayname:/>\r\n",
  83.          " </a:prop>\r\n",
  84.          "</a:propfind>\r\n");
  85.  
  86.   send(socket:soc, data:req);
  87.   result = recv_line(socket:soc, length:2048);
  88.   r = http_recv(socket:soc);
  89.   close(soc);
  90.   if("HTTP/1.1 207 " >< result)
  91.    {
  92.     if("D:href" >< r)security_warning(port);
  93.    }
  94.   }
  95. }
  96.